# cpp_tools
Here I collect tools I wrote for managing my c++ projects.

### allinclude.cpp
Generate .h and .hpp include files that include everything from given directory and recursively for all its subdirectories. Each file prefers includes with corresponding extension, but will include the other if there is no choice. If the code looks super complicated, conceder that even in words I have real hard time explaining what this does. Basically sometimes I would put template declarations in an .h files, and corresponding definitions in an .hpp file, to allow for explicit specialization where it makes sense. Other times it could be just an .hpp file if there is no .cpp to speak of, or an .h if there is minimal or no exposure of templates to the user, no hard rules there. Combine that with desire to have an include for each directory in the source tree and with some deliberation you should arrive at the purpose of this program.

### make_templates
As the name suggests - some Makefile templates. The filenames of individual templates are pretty self explanatory as well. They are ugly from inside though and probably break some conventions.
